<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="include :: header('远程API接口请求日志记录列表')" />
</head>
<body class="gray-bg">
    
     <div class="container-div">
		<div class="row">
			<div class="col-sm-12 search-collapse">
				<form id="formId">
					<div class="select-list">
						<ul>
                            <li>
                                操作类别：<input type="text" name="userType"/>
                            </li>
                            <li>
                                接口地址：<input type="text" name="apiUrl"/>
                            </li>
                            <li>
                                requestId：<input type="text" name="requestId"/>
                            </li>
							<li class="select-time">
								<label>操作时间：	 </label>
								<input type="text" class="time-input" id="startTime" placeholder="开始时间"
									   name="params[beginTime]"/>
								<span>-</span>
								<input type="text" class="time-input" id="endTime" placeholder="结束时间"
									   name="params[endTime]"/>
							</li>
							<li>
								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
								<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
							</li>
						</ul>
					</div>
				</form>
			</div>
			
	        <div class="btn-group-sm" id="toolbar" role="group">
				<a class="btn btn-danger btn-del disabled" onclick="$.operate.removeAll()"
				   shiro:hasPermission="monitor:apilog:remove">
					<i class="fa fa-remove"></i> 删除
				</a>
				<a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="monitor:apilog:remove">
					<i class="fa fa-trash"></i> 清空
				</a>
				<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="monitor:apilog:export">
					<i class="fa fa-download"></i> 导出
				</a>
			</div>
			<div class="col-sm-12 select-table table-striped">
				<table id="bootstrap-table" data-mobile-responsive="true"></table>
			</div>
		</div>
	</div>
    <div th:include="include :: footer"></div>
    <script th:inline="javascript">
        var detailFlag = [[${@permission.hasPermi('monitor:apilog:detail')}]];
        var removeFlag = [[${@permission.hasPermi('monitor:apilog:remove')}]];
        var prefix = ctx + "monitor/apilog";

        $(function() {
            var options = {
                url: prefix + "/list",
                cleanUrl: prefix + "/clean",
                detailUrl: prefix + "/detail/{id}",
                removeUrl: prefix + "/remove",
				exportUrl: prefix + "/export",
                modalName: "API接口请求日志",
				search: false,
		        showExport: false,
                columns: [{
		            checkbox: true
		        },
				{
					field : 'logId', 
					title : '日志主键',
					visible: false
				},
				{
					field : 'requestMethod', 
					title : '请求方法',
					sortable: true
				},
				{
					field : 'method', 
					title : '方法名称',
					sortable: true
				},
				{
					field : 'userType', 
					title : '操作类别',
					sortable: true,
                    formatter: function (value, row, index) {
                        if (value == 0) return "其他";
                        if (value == 1) return "后台用户";
                        if (value == 2) return "手机端用户";
                    }
				},
				{
					field : 'userName', 
					title : '操作人员',
					sortable: true
				},
				{
					field : 'deptName', 
					title : '部门名称',
					sortable: true
				},
				{
					field : 'apiUrl', 
					title : '接口URL地址',
					sortable: true
				},
				{
					field : 'accessToken', 
					title : '接口access_token',
					sortable: true
				},
				{
					field : 'requestId', 
					title : '接口请求id',
					sortable: true
				},
				{
					field : 'userHost', 
					title : '操作IP地址',
					sortable: true
				},
				{
					field : 'userLocation', 
					title : '操作地点',
					sortable: true
				},
				{
					field : 'status', 
					title : '操作状态',
                    align: 'center',
                    formatter: function (value, row, index) {
                        if (value == 0) {
                            return '<span class="badge badge-primary">成功</span>';
                        } else {
                            return '<span class="badge badge-danger">异常</span>';
                        }
                    }
				},
				{
					field : 'operTime', 
					title : '操作时间',
					sortable: true
				},
		        {
		            title: '操作',
                    align: 'center',
                    formatter: function (value, row, index) {
                        var actions = [];
                        actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="#" onclick="$.operate.detail(\'' + row.logId + '\')"><i class="fa fa-search"></i>详细</a>');
                        return actions.join('');
                    }
		        }]
            };
            $.table.init(options);
        });
    </script>
</body>
</html>